package com.aceitunaproject.server.message.processor;

import com.aceitunaproject.server.player.Player;
import com.aceitunaproject.shared.message.Message;

/**
 * Message processor interface. Implementations of this interface are responsible
 * for the actual logic for processing the received messages. Processor calls are
 * made by the message handler implementations.
 * 
 * @author Maciej Miechowicz
 */
public interface MessageProcessor<T extends Message> {

	/**
	 * Processes the given message
	 * 
	 * @param player player receiving the message
	 * @param message received message
	 */
	public void processMessage(Player player, T message);
	
}
